﻿using System;
using System.Runtime.InteropServices;

namespace Microsoft.Xna.Framework.Audio
{
	/// <summary>
	/// The exception that is thrown when no audio hardware is present, or when audio hardware is installed, but the device drivers for the audio hardware are not present or enabled.
	/// </summary>
	public sealed class NoAudioHardwareException : ExternalException
	{
		/// <summary>
		/// Initializes a new instance of this class.
		/// </summary>
		public NoAudioHardwareException()
		{
		}

		/// <summary>
		/// Initializes a new instance of this class with a specified error message.
		/// </summary>
		/// <param name="message">A message that describes the error.</param>
		public NoAudioHardwareException(string message)
			: base(message)
		{
		}

		/// <summary>
		/// Initializes a new instance of this class with a specified error message and a reference to the inner exception that is the cause of this exception.
		/// </summary>
		/// <param name="message">A message that describes the error.</param>
		/// <param name="inner">The exception that is the cause of the current exception. If the inner parameter is not a null reference, the current exception is raised in a catch block that handles the inner exception.</param>
		public NoAudioHardwareException(string message, Exception inner)
			: base(message, inner)
		{
		}
	}
}
